Method and apparatus for network access control with implicit ranging and dynamically assigned time slots

ABSTRACT

A time division multiple access protocol that prevents data collisions and that maximizes bandwidth utilization in a long distance communications network by performing implicit ranging and dynamic assignment of time slots. The propagation delay that would result when data travels from an end station to the hub is determined using an implicit ranging method. Time slots in a synchronization signal are assigned to end stations based upon the requests from end stations and the availability of time slots. Each end station is notified of its assigned time slot(s) and propagation delay and is provided with a timing signal which is the synchronization signal delayed by its propagation delay. Each end station then starts to transmit its data at the beginning of a time duration that is twice its propagation delay before the start of its assigned time slot(s) in its timing signal. Each end station transmits its data for the duration of its assigned time slot(s). The data from each of these end stations travels in a pipe-lined manner through the link toward the hub and arrives at the hub during the assigned time slots in the synchronization signal. Each time slot preferably includes a guard band during which no data is transmitted; the duration of the guard band can be minimized thus resulting in more efficient bandwidth utilization.

FIELD OF THE INVENTION

The present invention relates to network access control, and moreparticularly to a time division multiple access protocol which maximizesbandwidth utilization in long distance communications networks by usingimplicit ranging and dynamically assigned time slots.

BACKGROUND OF THE INVENTION

A media access control protocol may be viewed as a set of rules that arefollowed when an end station attempts to send data on a networkinterconnecting multiple end stations. The protocol typically attemptsto prevent and/or minimize collisions between data on the network and tomaximize bandwidth utilization.

A time division multiple access (TDMA) protocol assigns time periods toend stations; an end station can send data only during its assigned timeperiod so that collisions can be prevented. In conventional TDMAprotocols, large guard bands are required between transmissions fromdifferent end stations. A guard band is a reserved time period duringwhich no end station can initiate transmission. Larger guard bands arenecessary to prevent data collisions in networks with longer distancesbetween end stations, resulting in a reduced throughput.

Two other known media access protocols are Carrier Sense Multiple Accesswith Collision Detection (CSMA/CD) and token passing. However, asexplained below, these other protocols are impractical forpreventing/minimizing collisions and optimizing bandwidth when thenetwork has long links and the distance between consecutive ornonconsecutive end stations is greater than thousands of meters.

In the CSMA/CD protocol, an end station with data to send must firstdetermine if the network is free. If any other end station is alreadysending data, the end station wishing to send data must wait until theother station is finished and the network becomes idle.

In the CSMA/CD protocol, two stations may wish to send data anddetermine at the same time that the link is idle. In that case, a datacollision would occur when the two stations send their datasimultaneously. Upon detection of a collision, the CSMA/CD protocolrequires the two stations to attempt resending data after each of thetwo stations waits a random period of time. The requirement of waiting arandom period of time minimizes the recurrence of a data collision.

In the CSMA/CD protocol, a data collision can occur in anothersituation. Referring to FIG. 1, assume that end station 12 is currentlyusing link 10 of communications network 20 to transmit data, and thatend stations 14 and 18 each have data to send over the link. The firstdata sent by end station 12 takes longer to reach end station 18 thanend station 14. Thus, end station 14 may determine that the link is freebefore the first data reaches end station 18, and end station 14 wouldbegin to send its data. Because of a finite delay in second data sent byend station 14 reaching end station 18, end station 18 assumes that thelink is idle when the first data sent by end station 12 has reached endstation 18 and during the finite delay. If end station 18 then sends itsdata during the finite delay, a collision would result between the thirddata sent by end station 18 and the second data sent by end station 14.In this situation, the probability of a collision depends on theduration of the finite delay. The finite delay depends on thepropagation delay of signals through the medium of link 10, and on thedistance between the two competing end stations, 14 and 18 in thisexample.

Thus, in the CSMA/CD protocol, the probability of a collision isdependent on the distance between end stations. In long distancecommunications networks having links with end stations that arethousands of meters apart, the finite delay and thus the probability forcollisions can become high.

Moreover, in the CSMA/CD protocol, when the distance of data travel ishigh, the time that an end station must wait for the channel to becomeidle can be high. Thus, the amount of data sent during a finite timeperiod is lower with longer links in networks using the CSMA/CDprotocol.

In a token-passing protocol, a token is generated during aninitialization phase of the communications network. The token travelsaround the network, and an end station having data to send must seize afree token before sending its data. When the token is in use by one endstation, the other end stations cannot send any data. Thus, in thetoken-passing protocol as well, long links between consecutive ornonconsecutive end stations leads to less data being sent since thelonger distances result in longer time periods before the token becomesfree.

Thus, the conventional prior art protocols are not efficient forpreventing/minimizing collisions and/or maximizing bandwidth utilizationin long distance communications networks. These long distance networksare becoming more prevalent; an example is a cable television systemwith end stations separated by thousands of meters. Thus, there is anongoing need to provide such features in a long distance communicationsnetworks.

SUMMARY OF THE INVENTION

The present invention is directed to a network access control protocolthat prevents collisions and/or optimizes bandwidth in long distancecommunications networks. In one general aspect, the invention features atime division multiple access (TDMA) protocol that assigns time slots toend stations having data to send to a hub, the time slots beingdynamically assigned upon requests from the end stations.

In another general aspect, an implicit ranging method determines apropagation delay for an end station when the end station transmits aslot request message to the hub. The propagation delay measurement issometimes referred to as "ranging." Rather than using an explicitranging signal, the propagation delay is determined from the slotrequest message. Thus, the ranging function is "implicit" in that noexplicit ranging signal is required.

In a further general aspect, the end stations send their data accordingto their respective assigned time slots. As a result, data from the endstations can be sent to the hub in a pipe-lined manner through thenetwork, and the hub receives the data from each respective end stationduring the end station's assigned time slot. Because data travelsthrough the communications network in a pipe-lined manner, a longercommunications network can carry more data. In addition, pipe-linedtransmission in the TDMA protocol with dynamically assigned time slotsminimizes the duration of guard bands. Thus, the protocol of the presentinvention optimizes bandwidth utilization in long distancecommunications networks.

These and other features of the present invention will be moreparticularly described with respect to the following drawings anddetailed description.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a schematic diagram of a communications link operativelyconnected to multiple end stations.

FIG. 2 is a schematic diagram of a star-based communications networkhaving a hub and multiple end stations.

FIG. 3 is a schematic diagram illustrating one link in the star-basedcommunications network of FIG. 2.

FIG. 4 is an illustration of synchronization pulses generated at the hubof the communications network of FIG. 2.

FIG. 5A is a flowchart of an initialization phase of the access controlprotocol according to the present invention.

FIG. 5B is a flowchart of a transmission phase of the access controlprotocol according to the present invention.

FIG. 6 is a timing diagram illustrating an implicit ranging method fordetermining the propagation delay between an end station and the hub.

FIG. 7 is a timing diagram illustrating synchronization pulses and theassignment of time slots between the synchronization pulses.

FIG. 8 is a timing diagram for data transmission from a first endstation to the hub with data arriving at the hub during a first timeslot.

FIG. 9 is a timing diagram for data transmission from a second endstation to the hub with data arriving at the hub during a second timeslot.

FIG. 10 is a timing diagram for data transmission with a third time slotassigned to the first end station of FIG. 8 and with the second timeslot assigned to the second end station of FIG. 9.

DETAILED DESCRIPTION

FIG. 2 shows a network 50 based on a star topology and serving longdistance communications. The network comprises a central hub 22, havingfour links 24, 26, 28, and 30. The hub can be a bridge, a router, or aswitch which receives data sent by the end stations to the hub, e.g.,the MMAC or MMAC Plus hub sold by Cabletron Systems, Inc., Rochester,N.H. The end stations can be any general purpose computer terminal orcommunications device. More specifically, link 24 operatively connectsend stations 32 and 34 to the hub, link 26 operatively connects endstations 36 and 38 to the hub, link 28 operatively connects end stations40 and 42 to the hub, and link 30 operatively connects end stations 44,46, and 48 to the hub.

Each link in the network 50 may be a long distance link, and thephysical distance between an end station and the hub and/or betweenconsecutive or nonconsecutive end stations on a link can be thousands ofmeters. An example of a network based on the topology of FIG. 2 is acable television system that can be used to distribute televisionsignals from one central hub to many distant users; in the cabletelevision system, the end stations are known as customer premisesequipment (CPE).

Generally, at least part of the link is a coaxial cable for ease ofconnection to end stations; however, all or part of the link may beanother type of communications medium, e.g., optical fibers. In oneexample, an optical fiber segment is disposed between the hub and theclosest end station on a given link, the optical fiber being connectedby an optical network unit to the remainder of the link which is coaxialcable.

In the star-based topology of FIG. 2, the destination of all datatransmitted by the end stations is the central hub 22. Datatransmissions from the hub 22 to the end stations are deemed to be inthe downstream or forward direction, and data transmissions from the endstations to the hub are deemed to be in the upstream or the reversedirection. All transmissions in the downstream direction take place on afirst frequency channel, and all transmissions in the upstream directiontake place on a second frequency channel different from the firstfrequency channel.

In this embodiment, transmission in the downstream direction is simplesince the hub 22 is the only transmitter on the first frequency channel.For example, the hub periodically and continuously sends synchronizationpulses downstream to the end stations on the first frequency channel.The end stations reference the timing of their data transmissions tothese synchronization pulses. Since the hub is the only downstreamtransmitter on the first frequency channel, the hub can transmit thesesynchronization pulses to the end stations without collisions.

Data transmissions by multiple end stations in the upstream directionvia the second frequency channel on the other hand are subject to datacollisions. The network access control protocol of the present inventionensures fair access for each of these end stations while preventing datacollisions and/or maximizing bandwidth utilization within the secondfrequency channel.

The protocol of the present invention assumes that data transmissionsfrom the end stations are substantially unidirectional towards the hub.This assumption would be valid in fiber optic networks where individualfibers are typically used for unidirectional transmission. For networksbased on coaxial cables, however, unidirectional transmission can beapproximated when the coaxial cables have bidirectional line amplifiersthat operate on different frequency bands for the two directions oftransmission. Such a bidirectional line amplifier would amplify signalsonly within a first frequency band for downstream transmission, and onlywithin a second frequency band (different from the first frequency band)for upstream transmission.

As illustrated in FIG. 3, first and second end stations 58 and 60 areoperatively connected between two bidirectional line amplifiers 56 and62 on a coaxial cable portion 55, of the overall link 54 to hub 52. Athird end station 64 is operatively connected to a second coaxial cableportion 57, downstream of the line amplifier 62. Hub 52 is operativelyconnected upstream from the line amplifier 56. In FIG. 3, assume forexample that first end station 58 transmits data at a given frequency.The data transmitted by first end station 58 reaches the downstream sideof amplifier 56, the upstream side of amplifier 62, and second endstation 60. Amplifiers 56 and 62 amplify the data signal only upstreamtoward the hub 52 for signals of the given frequency. Thus, when thedata reaches the downstream side of amplifier 56, the attenuated datasignal would be amplified by amplifier 56 and transmitted upstreamtoward the hub. However, when the data reaches the upstream side ofamplifier 62, the data signal would be attenuated in the downstreamdirection (toward third end station 64), since amplifiers 56 and 62amplify data signals of the given frequency only upstream toward the huband block all other frequencies. Thus, end stations (such as 64)downstream of amplifier 62 would effectively not sense the datatransmitted by end station 58. As a result, if the distance between suchamplifiers is small compared to the span of the whole link 54, datatransmission from the end stations can thus be approximated asunidirectional towards the hub.

Assuming such approximately unidirectional data transmission from theend stations toward the hub, the protocol of the present invention usesdynamically assigned time slots (DATS) and implicit ranging (IR) foraccess control. The timing of data transmissions from the end stationsis in reference to synchronization pulses generated periodically andcontinuously at the central hub. FIG. 4 illustrates a synchronizationsignal 80--a unique periodic pattern having a representative time period82. A synchronization pulse 72, 74, 76, 78 . . . (marked with crosshatches) marks the beginning of the period.

The synchronization signal (which is the periodic transmission of thesynchronization pulses) is transmitted downstream from the hub andcarries a common timing reference to the end stations. The end stationstime their data transmission in reference to this common signal.

The flow charts of FIGS. 5A-5B provide an overview of the stepsperformed in the protocol when an end station wishes to transmit data tothe hub. FIG. 5A shows the steps performed during an initializationphase of the DATS/IR protocol, and FIG. 5B shows the steps performedduring a transmission phase.

Referring to the flowchart of FIG. 5A, the DATS/IR protocol begins theinitialization phase when an end station, operatively connected to alink common to multiple end stations and wishing to send data, enablesits receiver and begins receiving synchronization pulses from the hub instep 92. Synchronization between the end station and the hub must beachieved in step 94 before the initialization phase can continue.

Once synchronization is achieved, the end station sends a slot requestmessage to the hub in step 96. The slot request message is sent betweensynchronization pulses and at a specified time duration from asynchronization pulse. This time duration may be prespecified for theend station in which case, the respective time duration would be known,a priori, by the hub and all end stations. Alternatively, the endstation may indicate the position of this time duration relative to thesynchronization pulse by including this information in the slot requestmessage.

Assuming the slot request message reaches the hub, the hub will respondto the end station indicating that the hub has received the slot requestmessage. Since more than one end station may send a slot request messageat the same time, these request messages may collide with each otherbefore reaching the hub. If the end station detects no response from thehub after the end station waits a predetermined time, the end stationwaits a random time (in step 100) and resends the slot request message.The wait for a random time minimizes the probability of a collision.

Upon receiving the slot request message from an end station, the hubmust determine the propagation delay for that end station in step 102.The hub may have a table for keeping a record of such propagationdelays, and in that case, the hub can look in the table for thepropagation delay corresponding to each end station.

If no entry is found in such a table or if no table exists, the hubdetermines the propagation delay from the arrival of the slot requestmessage. FIG. 6 shows a timing diagram which illustrates how the hubdetermines this propagation delay using an implicit ranging method.Signal 116 is a synchronization signal at the hub. The hub has a clockand sends a synchronization pulse 124 (having a reference timedetermined by the hub clock) to the end station for which thepropagation delay is being measured. The synchronization pulse 124, intraveling from the hub to the end station, reaches the end station witha shift or propagation delay 128; this results in a second timing signal118, i.e., a shifted synchronization signal at the end station. The endstation has a timer which it restarts when it receives thesynchronization pulse 124 (in second timing signal 118). A signal 120with a slot request message 126 is then sent by the end station at atime 136, which is a time duration 130 after the start of the secondtiming signal 118. The time duration 130 can be predefined and thusknown a priori by the hub and the end stations. In the alternative, theend station can determine the time duration, and can notify the hub ofthis time duration by including such information in the slot requestmessage. In either case, the end station uses its timer to send the slotrequest message at time point 136, and the hub knows of the timeduration 130.

The slot request message 120 reaches the hub as signal 122 with a shiftof another propagation delay 128 for a total delay of time duration 134from the beginning of the synchronization signal 116 at the hub. Thetotal shift 134 can be determined by the hub since the hub now hasaccess to both signals 116 and 122. This total shift is comprised of thetwo propagation delays 128, and the finite time duration 130. With timeduration 130 already known to the hub, the propagation delay can becalculated as follows:

    Propagation Delay=(Time Duration 134-Time Duration 130)/2.

The ranging method illustrated in FIG. 6 is "implicit" because noexplicit signal is necessary for a determination of the propagationdelay. Rather, the slot request message is used both for notifying thehub that the end station wishes to transmit data and for thedetermination of the propagation delay. Alternatively, one of the huband end station can send a signal to the other which is reflected back,and the measured delay can be used to determine the propagation delay.

Referring back to the flowchart of FIG. 5A, when the propagation delayfor an end station wishing to send data has been determined (step 102),a time slot can be assigned to the end station (step 108). A time slotis a finite duration of time assigned between two consecutivesynchronization pulses as illustrated in the synchronization signal 138of FIG. 7. Time duration 140 is a representative period of thesynchronization signal 138, where synchronization pulse 144 (generatedby the hub) marks the beginning of the period. Time duration 142 is arepresentative time slot assigned within the representative period; eachtime slot has an active time slot 146 and a guard band 148. Therequirement of the guard band within each time slot is explained ingreater detail below with respect to the transmission phase of theDATS/IR protocol.

The representative period 140 in FIG. 7 has a total of three assignedtime slots for convenience of illustration. However, the number of timeslots assigned in a period of the synchronization signal may vary overtime and in general should be at least the total number of end stationsoperatively connected to a link.

Referring back to FIG. 5A, if no time slots are available forassignment, the end station is notified of the nonavailability (step106). In that case, the notified end station can resend the slot requestmessage (the protocol goes back to step 96). If time slots are availablefor assignment, the DATS/IR protocol assigns a time slot to the endstation wishing to send data. One time slot or a plurality ofconsecutive time slots can be assigned to an end station; the number ofassigned time slots may depend on the amount of data that the endstation wishes to send. The number of time slots available in eachperiod of the synchronization signal should be at least the number ofend stations operatively connected to a link, or at least the number ofend stations that can be foreseen to be operatively connected to thelink, so that each end station is assigned at least one slot.

Just as time slots can be assigned for newly added end stations, oldertime slot assignments can be terminated. If an end station has not sentany data during its assigned time slot for a certain time, or at the endstation's request, or if the end station is disconnected from thenetwork, the assigned time slot(s) can be terminated. For example, whenan end station has no data to send, it may send a message to the hub torelinquish its assignment. This termination procedure may allow for moreefficient utilization of the time slots.

Assignment of time slots to end stations wishing to send data to the hubmarks the end of the initialization phase. The initialization phase hasbeen completed during a prespecified time duration between thesynchronization pulses and before the end stations transmit data. Theassignment of time slots to end stations is not required to depend onthe distance of the end stations to the hub, and the hub can assign anytime slot(s) sufficient to meet the bandwidth requirements of an endstation. Thus, the assignment of time slot(s) to each end station isindependent of the assignment for all other end stations.

With time slots assigned to end stations, the DATS/IR protocol nowenters a transmission phase. An overview of this phase is shown in theflowchart of FIG. 5B. Each end station wishing to send data to the hubmay start to send its data at a predetermined time point such that itsdata arrives at the hub during its assigned time slot(s). Each endstation may send its data for the duration of its assigned time slot(s)at every period of the synchronization signal until the hub terminatesthe assignment.

Referring to FIGS. 3 and 8 for example, assume that end station 58wishes to send data and that slot 166, which is the first time slot froma synchronization pulse 170 in a synchronization signal 150, has beenassigned to this end station during the initialization phase. Thetransmission phase begins when the hub sends to end station 58 thesynchronization pulses (marked with cross hatches) within the signal150, and notifies this end station of its assigned time slot andpropagation delay. Note that these notification signals and thesynchronization signal are sent downstream from the hub to end station58 via a channel separate from the channel for upstream datatransmission.

The synchronization pulses would have shifted by a time duration 160upon reaching end station 58 to provide a shifted timing signal 152 toend station 58, where time duration 160 is the measured propagationdelay that the hub has previously determined. (Shifted timing signal 152also illustrates the assigned time slots between the synchronizationpulses.) End station 58 then times its data transmission in reference tothe shifted synchronization pulses in timing signal 152.

In order for the data sent by end station 58 to reach the hub during itsassigned time slot 166 in the hub's synchronization signal 150, endstation 58 must start to send its data 168 at the beginning of a timeduration 162 that is twice the propagation delay before the beginning ofthe time slot 166 in the shifted timing signal 152. After this startingpoint, end station 58 may send its data for a duration of its assignedtime slot. A data signal 154 sent by end station 58 will arrive at thehub as a received data signal 156, again shifted by the propagationdelay 160. As shown in FIG. 8, the data 168 then arrives during theassigned slot 166 of the hub's synchronization signal 150.

The data 168 is sent from the end station 58 at the start of a timeduration 162 that is twice the measured propagation delay before thebeginning of assigned time slot 166 in the shifted timing signal 152.The two propagation delays ensure arrival of the data 168 during theassigned slot 166 in the hub's synchronization signal 150 since onepropagation delay accounts for the shift of the timing signal 152 (atend station 58) and since the other propagation delay accounts for thetime duration necessary for data 168 to propagate to the hub.

Referring to FIGS. 3 and 9 for an example of pipe-lined transmission,assume that end station 64, in addition to end station 58, wishes totransmit data to the hub. End station 64 is further away from the hubthan end station 58 and thus has a larger propagation delay. Assume thata slot 196 (see FIG. 9), that is latter from the slot 166, has beenassigned to end station 64 during the initialization phase. Here, slot166 assigned to end station 58 is the first time slot from thesynchronization pulse 170, and slot 196 assigned to end station 64 isthe second time slot from the synchronization pulse.

In the transmission phase, the hub sends to end station 64 thesynchronization signal 150 and notifies end station 64 of the assignedtime slot and the measured propagation delay that the hub has determinedfor this end station (on a channel for downstream transmission that isseparate from the channel for upstream data transmission). Thesynchronization pulses would have shifted by a time duration 190 fromthe hub's synchronization signal 150 upon reaching end station 64 toprovide a shifted timing signal 182. The time duration 190 is also themeasured propagation delay that the hub has determined for end station64.

End station 64 times its data transmission in reference to the shiftedtiming signal 182. In order for the data sent by end station 64 to reachthe hub during its assigned time slot 196 in the hub's synchronizationsignal 150, end station 64 must start to send its data at the beginningof a time duration 192 that is twice the measured propagation delaybefore the beginning of the assigned time slot 196 in the shifted timingsignal 182. After this starting point, end station 64 may transmit itsdata for the duration of its assigned time slot.

A data signal 184 sent by end station 64 will arrive at the hub as areceived data signal 186. The received data signal 186 has been shiftedby time duration 190 which is the measured propagation delay. As shownin FIG. 9, the data 198 then arrives at the hub within the assigned slot196, which is the second time slot from the synchronization pulse 170.The data sent by end station 58 has already arrived within the firsttime slot 166. The data from the two end stations 58 and 64 has thusbeen transmitted through the network in a pipe-lined manner.

The duration of a time slot in the synchronization signal depends on theavailable bandwidth of the link, the amount of data each station maywish to send on the link, and the number of end stations the hub mayservice. In order to prevent collisions and to preserve data, theduration of a time slot is sufficiently long for a maximum data lengthrequirement, or a sufficient number of time slots is assigned to an endstation. In the case of a plurality of consecutive time slots beingassigned to an end station, the end station would start to send its dataat the beginning of a time duration that is twice the end station'smeasured propagation delay before the beginning of the plurality ofconsecutive time slots. After this starting point, the end stationtransmits its data for a duration of its assigned plurality of timeslots.

With data from end stations traveling through the link in a pipe-linedmanner, the bandwidth utilization can be maximized for long distancecommunications networks since longer links can carry more data.Moreover, data transmission in the pipe-lined manner with the DATS/IRprotocol prevents collisions as can be shown with a mathematical proof.

For the mathematical proof, refer to the example of end stations 58 and64 wishing to transmit data to the hub and to FIGS. 3, 7, and 8. Sinceend station 58 is disposed closer to the hub than end station 64, assumeend stations 58 and 64 have respective propagation delays t₅₈ and t₆₄where t₆₄ >t₅₈. For generality, assume that the m^(th) time slot fromthe synchronization pulse is assigned to end station 58 and the n^(th)time slot from the synchronization pulse is assigned to end station 64.Also, assume that the time point of reference for the beginning of thesynchronization signal at the hub is T_(h), that each time slot hasduration S, that the duration of a synchronization pulse is negligible,and that data transmissions from end stations 58 and 64 aresubstantially unidirectional toward the hub. Then the following wouldhold:

Start of m^(th) time slot in the shifted timing signal at end station58:

    =T.sub.h +t.sub.58 +(m-1)S

Start of transmission at end station 58:

    =T.sub.h +t.sub.58 +(m-1)S-2t.sub.58

    =T.sub.h +(m-1)S-t.sub.58

Thus, end station 58's data arrives at the hub at time point:

    =T.sub.h +(m-1)S-t.sub.58 +t.sub.58

    =T.sub.h +(m-1)S,

which is the beginning of the assigned time slot in the hub'ssynchronization signal.

Similarly for end station 64:

Start of n^(th) time slot in the shifted timing signal at end station64:

    =T.sub.h +t.sub.64 +(n-1)S

Start of transmission at end station 64:

    =T.sub.h +t.sub.64 +(n-1)S-2t.sub.64

    =T.sub.h +(n-1)S-t.sub.64

Thus, end station 64's data arrives at the hub at time point:

    =T.sub.h +(n-1)S-t.sub.64 +t.sub.64

    =T.sub.h +(n-1)S,

which is the beginning of the assigned time slot in the hub'ssynchronization signal.

The following proof verifies the prevention of collisions:

Time point of end of transmission at end station 58:

    =T.sub.h +(m-1)S-t.sub.58 +S

    =T.sub.h +mS-t.sub.58

Propagation delay in data transmitted by end station 64 reaching endstation 58:

    =t.sub.64 -t.sub.58

Arrival time of end station 64's data at end station 58

    =start of transmission at end station 64+(t.sub.64 -t.sub.58)

    =T.sub.h +(n-1)S-t.sub.64 +t.sub.64 -t.sub.58

    =T.sub.h +(n-1)S-t.sub.58

If n>m, the arrival time of the beginning of end station 64's data atend station 58, T_(h) +(n-1)S-t₅₈, is always after the end of datatransmission at end station 58, T_(h) +mS-t₅₈. Thus, no collision wouldoccur when data is transmitted through the link in a pipe-lined manner.This case is illustrated in the example of the pipe-lined transmissionin FIG. 9.

Alternatively, if n<m, then end station 54 would be assigned a time slotafter the time slot assigned to end station 64. In that case, thearrival time of the end of end station 64's data is always before thebeginning of data transmission by end station 58, thus ensuring nocollision. This condition can be shown by the following equations:

Arrival time of the end of end station 64's data at end station 58

    =T.sub.h +(n-1)S-t.sub.58 +S

    =T.sub.h +nS-t.sub.58

Start of transmission at end station 58:

    =T.sub.h +(m-1)S-t.sub.58

For n<m, the arrival time of the end of end station 64's data at endstation 58 (T_(h) +nS-t₅₈) would be less than the start of transmissionat end station 58 (T_(h) +(m-1)S-t₅₈), unless n=m-1.

In the case of n<m and n=m-1, the arrival time of the end of end station64's data at end station 58 (T_(h) +nS-t₅₈) would be equal to the startof transmission at end station 58 (T_(h) +(m-1)S-t₅₈). However, a guardband inserted between each consecutive time slots still ensures nocollision since no end station can transmit data during a guard band.

FIG. 10 illustrates the worst case scenario where n<m and n=m-1. Timingdiagram 202 shows the synchronization signal at the hub with time slotsassigned between the synchronization pulses. Assume that the second timeslot 206 and the third time slot 208 from the synchronization pulse 204have been assigned to end stations 64 and 58, respectively. Thus, endstation 58 which is disposed closer to the hub than end station 64 hasbeen assigned a later time slot from that assigned to end station 64.Recall also that because of these relative locations from the hub, endstation 58 has a lower propagation delay than end station 64 (i.e., t₆₄>t₅₈).

The hub sends periodic synchronization pulses to end station 64, and thesynchronization pulses would have shifted by a time duration 212 uponreaching end station 64 to provide a first shifted timing signal 210 toend station 64. Time duration 212 is the measured propagation delay t₆₄.(Shifted timing signal 210 also illustrates the assigned time slotsbetween the synchronization pulses.) End station 64 then times its datatransmission in reference to the shifted synchronization pulses in thefirst timing signal 210.

In order for the data sent by end station 64 to reach the hub during itsassigned time slot 206 in the hub's synchronization signal 202, endstation 64 starts to send its data 216 at the beginning of a timeduration 218 that is twice the propagation delay t₆₄ before thebeginning of the time slot 206 in the first timing signal 210. Afterthis starting point, end station 64 may send its data for a duration ofits assigned time slot.

The data signal 214 sent upstream to the hub by end station 64 willarrive at end station 58 as the shifted data signal 222. The shifteddata signal 222 at end station 58 will be delayed from the data signal214 by a time duration 220 which is equal to t₆₄ -t₅₈. Time point 232marks the end of the data in the data signal 222 at end station 58.

The hub sends periodic synchronization pulses to end station 58, and thesynchronization pulses would have shifted by time duration 226 uponreaching end station 58 to provide a second shifted timing signal 224 toend station 58. Time duration 226 is the measured propagation delay t₅₈.End station 58 then times its data transmission in reference to theshifted synchronization pulses in the second timing signal 224.

In order for the data sent by end station 58 to reach the hub during itsassigned time slot 208 in the hub's synchronization signal 202, endstation 58 must start to send its data 230 at the beginning 234 of atime duration 228 that is twice the propagation delay t₅₈ before thebeginning of time slot 208 in the second timing signal 224. After thisstarting point, end station 58 may send its data for a duration of itsassigned time slot.

Comparing the data signal 222 that arrives at end station 58 from endstation 64 with the data signal 226 that end station 58 transmits, FIG.10 illustrates that the end point 232 of data 216 occurs before thebeginning point 234 of data 230. The two points are separated by aduration of a guard band. Thus, no collision would occur at end station58 since data transmitted upstream from end station 64 will have alreadypassed end station 58 when end station 58 begins to transmit its data.Thus, no collision has occurred for the case where t₆₄ >t₅₈ (i.e., whereend station 58 is disposed nearer to the hub than end station 64), andwhere n<m.

Thus as long as the propagation delay is determined for each end stationwishing to transmit data, and the end stations begin to transmit data ata beginning of a time period that is twice its respective propagationdelay before its respective assigned time slot(s), no collision wouldoccur irrespective of which time slots are assigned to the end stations.Thus, assignment of time slots to an end station is independent of theassignment to other end stations.

Also, guard bands are included in every time slot to prevent collisionswhen sublinks of the communications networks are bidirectional, e.g.,coaxial cable link 55 in FIG. 3. In the synchronization signal 138 ofFIG. 7, a guard band 148 in the representative time slot 142 is shownwith horizontal line markings. Referring to the coaxial cable link 55 ofFIG. 3, guard bands are necessary because data from an end station canbe transmitted in both directions between any two consecutive lineamplifiers. In FIG. 3 for example, when end station 58 transmits, itsdata travels in the downstream direction to the upstream side ofamplifier 62, in addition to traveling toward the hub.

If end station 60 were to transmit its data, before data from endstation 58 reaches end station 60, a collision would result. In order toprevent collision of data between any two consecutive line amplifiers, aguard band is included in every time slot. (Note that theoretically,guard bands would not be necessary in communications media such asoptical fibers that can support purely unidirectional transmissions. Inpractice however, small guard bands may still be necessary in opticalfibers to account for inaccuracies in the system.) No end station cantransmit data during a guard band. A collision occurring between any twoconsecutive line amplifiers can be prevented if the duration of theguard band is at least the end-to-end propagation delay of the largestcoaxial cable sublink between any two consecutive amplifiers on thelink.

With this constraint, data sent by an end station between any twoconsecutive amplifiers would have reached the two consecutive amplifiersbefore another end station between these amplifiers begins its datatransmission, thus ensuring no collision of data sent by two endstations between the two consecutive amplifiers. With guard bandsincluded in every time slot and with the DATS/IR protocol sending datathrough long distance links in a pipe-lined manner, data collisions canbe prevented. Moreover, bandwidth utilization is maximized since moredata can be carried by a longer link.

Having thus described various embodiments of the present invention,modifications and improvements will readily occur to those skilled inthe art. For example, instead of the hub determining the propagationdelay that results when data is traveling from end stations to the hub,any end station can determine these propagation delays. Also, instead ofthe hub generating the synchronization pulses, an end station cangenerate the reference timing signal. Moreover, any media in addition tooptical fibers, that can support unidirectional data transmission, orany media in addition to coaxial cables, that can support approximatelyunidirectional data transmission, can be used with the DATS/IR protocol.Assignment of time slots based on distance of the end station from thehub, with the closest end station being assigned the first slot afterthe synchronization pulse, is an option but not required. Accordingly,the foregoing description is by way of example only and is not intendedto be limiting. The invention is limited only as defined in thefollowing claims and equivalents thereto.

What is claimed is:
 1. A method of controlling sending of first data toa hub from a first end station operatively connected to a link in acommunications network, and for controlling sending of second data tothe hub from a second end station operatively connected to the link, themethod comprising the steps of:(A) the hub providing a synchronizationsignal over the link to the first end station to provide a first timingsignal for the first end and to the second end station to provide asecond timing signal for the second end station, the synchronizationsignal having a predetermined period including a synchronization pulsefor marking a start of the period and a plurality of time slots assignedto the period in chronological order from the synchronization pulse; (B)the first end station sending a first slot request message to the hub ata first time duration from a start of the first timing signal, and thesecond end station sending a second slot request message to the hub at asecond time duration from a start of the second timing signal: (C) thehub assigning a first time slot having a first time slot duration to thefirst end station in response to the first slot request message and asecond time slot having a second time slot duration to the second endstation in response to the second slot request message; (D) the hubnotifying the first end station of its assignment to the first timeslot, and notifying the second end station of its assignment to thesecond time slot.
 2. The method of claim 1, further comprising the stepsof:(E) the hub determining a first propagation delay for sending thefirst data from the first end station to the hub and a secondpropagation delay for sending the second data from the second endstation to the hub, and (F) the hub notifying the first end station ofthe first propagation delay and the second end station of the secondpropagation delay.
 3. The method of claim 2, wherein the first timingsignal is the synchronization signal delayed by the first propagationdelay, the second timing signal is the synchronization signal delayed bythe second propagation delay, and the method further comprises the stepsof:(G) the first end station initializing transmission to the hub of thefirst data at a first point in time that is twice the first propagationdelay prior to the first time slot in the first timing signal, and thesecond end station initiating transmission to the hub of the second dataat a second point in time that is twice the second propagation delayprior to the second time slot in the second timing signal; and (H) thefirst end station sending the first data for at most the first time slotduration, and the second end station sending the second data for at mostthe second time slot duration.
 4. The method of claim 3, furthercomprising the step of:(I). the hub receiving the first data during thefirst time slot in the synchronization signal and the second data duringthe second time slot in the synchronization signal.
 5. The method ofclaim 4, further comprising the steps of:(J) the hub rejecting a slotrequest message from at least one of the first and second end stationswhen all time slots in the synchronization signal have been assigned;(K) the at least one rejected end station resending the slot requestmessage to the hub; and (L) repeating steps J and K until at least onetime slot in the synchronization signal is assigned to the at least onerejected end station.
 6. The method of claim 1, further comprising thesteps of:(M) least one of the first and second end stations timing anelapsed time since sending a slot request message; (N) when the elapsedtime exceeds a predetermined time duration before the at least one endstation receives a response from the hub, the at least one end stationresending the slot request message after waiting a random time period;and (O) repeating steps M and N until the at least one end stationreceives the response from the hub within the predetermined timeduration.
 7. The method of claim 2, wherein the first propagation delayis determined from arrival of the first slot request message at the huband the first time duration, and the second propagation delay isdetermined from arrival of the second slot request message at the huband the second time duration.
 8. The method of claim 1, wherein twoamplifiers are coupled to the link and wherein step B includes the stepsof:determining a respective delay that would result when data travelsbetween the two amplifiers; and providing a guard band in each timeslot, the guard band having a time duration that is a longest respectivepropagation delay between the two amplifiers.
 9. The method as recitedin claim 1, whereinthe synchronization signal is sent from the hub tothe first and second end stations on a first frequency channel in thelink; and the first and second slot request messages are sent on asecond frequency channel in the link different from the first frequencychannel.
 10. A network access manager that controls sending of firstdata to a hub from a first end station operatively connected to a linkin a communications network, and that controls sending of second data tothe hub from a second end station operatively connected to the link, thenetwork access manager comprising:a signal generator, operativelyconnected to the hub, that generates a synchronization signal having apredetermined period over the link from the hub to the first and secondend stations, each period including a synchronization pulse for markinga start of each period and a plurality of time slots being assigned tothe period in chronological order from the synchronization pulse; a slotrequest message sender, operatively connected to the first end stationand the second end station, that sends a first slot request message, ata first time duration from a start of the synchronization signal, to thehub to receive the first data, and that sends a second slot requestmessage, at a second time duration from a start of the synchronizationsignal, to the hub to receive the second data; and an assignmentcircuit, operatively connected to the hub, that assigns a first timeslot, having a first time slot duration, to the first end station inresponse to the first slot request message and a second time slot,having a second time slot duration, to the second end station inresponse to the second slot request message.
 11. The network accessmanager of claim 10, further comprising:a timing circuit, operativelyconnected to the hub, the first end station, and the second end station,that determines a first propagation delay for sending the first datafrom the first end station to the hub and a second propagation delay forsending the second data from the second end station to the hub; and anotification circuit, operatively connected to the timing circuit, thefirst end station, and the second end station, that informs the firstend station of its assignment to the first time slot and of the firstpropagation delay, and the second end station of its assignment to thesecond time slot and of the second propagation delay.
 12. The networkaccess manager of claim 11 wherein, the signal generator sends thesynchronization signal to the first end station to provide a firsttiming signal to the first end station that is the synchronizationsignal delayed by the first propagation delay, and to the second endstation to provide a second timing signal to the second end station thatis the synchronization signal delayed by the second propagation delayand wherein, the network access manager further comprises:a data sendingcircuit, operatively connected to the first end station and the secondend station, that initiates transmission of the first data at a firstpoint in time that is twice the first propagation delay prior to thefirst time slot in the first timing signal and that sends the first datafor at most the first time slot duration, and initiates transmission ofthe second data at a second point in time that is twice the secondpropagation delay prior to the second time slot in the second timingsignal and that sends the second data for at most the second time slotduration.
 13. The network access manager of claim 11 wherein, the timingcircuit determines the first propagation delay responsive to the arrivalof the first slot request message at the hub and the first timeduration, and the second propagation delay responsive to the arrival ofthe second slot request message at the hub and the second time duration.14. The network access manager of claim 10 wherein, the hub rejects aslot request message from one of the first and second end stations whenall time slots in the synchronization signal have been assigned to endstations.
 15. The network access manager of claim 10 wherein, at leastone of the first and second end stations resends a slot request messagewhen a response from the hub is not detected within a predetermined timeduration after sending a respective slot request message.
 16. Thenetwork access manager as recited in claim 10, whereinthesynchronization signal is sent to the first and second end stations on afirst frequency channel in the link; and the first and second slotrequest messages are sent on a second frequency channel in the linkdifferent from the first frequency channel.
 17. A communications networkcomprising:a link to provide a communications medium among end stationsoperatively connected to the link; a hub, operatively connected to thelink, to receive and route data from and to the end stations; a firstend station, operatively connected to the link, to send first data tothe hub; a second end station, operatively connected to the link, tosend second data to the hub; a signal generator to generate asynchronization signal having a predetermined period, each periodincluding a synchronization pulse for marking a start of each period anda plurality of time slots assigned to the period in chronological orderfrom the synchronization pulse; a slot request message sender,operatively connected to the end stations, to send a first slot requestmessage, at a first time duration from a start of the synchronizationsignal, to the hub to receive the first data, and to send a second slotrequest message, at a second time duration from the start of thesynchronization signal, to the hub to receive the second data; and anassignment circuit, operatively connected to the hub, to assign a firsttime slot, having a first time slot duration, to the first end stationresponsive to the first slot request message and to assign a second timeslot, having a second time slot duration, to the second end stationresponsive to the second slot request message.
 18. The communicationsnetwork of claim 17, further comprising:a timing circuit, operativelyconnected to the hub, the first end station, and the second end station,to determine a first propagation delay for sending the first data fromthe first end station to the hub and a second propagation delay forsending the second data from the second end station to the hub; and anotification circuit, operatively connected to the timing circuit, thefirst end station, and the second end station, to inform the first endstation of its assignment to the first time slot and of the firstpropagation delay, and the second end station of its assignment to thesecond time slot and of the second propagation delay.
 19. Thecommunications network of claim 18 wherein the signal generator sendsthe synchronization signal to the first end station to provide a firsttiming signal to the first end station that is the synchronizationsignal delayed by the first propagation delay, and to the second endstation to provide a second timing signal to the second end station thatis the synchronization signal delayed by the second propagation delay,and wherein, the communications network further comprises:a data sendingcircuit, operatively connected to the first end station and the secondend station, to initiate transmission of the first data at a first pointin time that is twice the first propagation delay prior to the firsttime slot in the first timing signal for at most the first time slotduration, and to initiate transmission of the second data at a secondpoint in time that is twice the second propagation delay prior to thesecond time slot in the second timing signal for at most the second timeslot duration.
 20. The communications network of claim 18 wherein thefirst propagation delay is determined by the timing circuit from arrivalof the first slot request message at the hub and the first timeduration, and the second propagation delay is determined from thearrival of the second slot request message at the hub and the secondtime duration.
 21. The communications network of claim 17 wherein, thehub rejects a slot request message from at least one of the first andsecond end stations when all time slots in the synchronization signalhave been assigned to end stations.
 22. The communications network ofclaim 17 wherein, at least one of the first and second end stationresends a slot request message when a response from the hub is notdetected within a predetermined time duration after sending a respectiveslot request message.
 23. The network as recited in claim 17,wherein:the synchronization signal is sent to the first and second endstations on a first frequency channel in the link; and the first andsecond slot request messages are sent on a second frequency channel inthe link different from the first frequency channel.